/*
Copyright [2020] [https://www.xiaonuo.vip]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Snowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：

1.请不要删除和修改根目录下的LICENSE文件。
2.请不要删除和修改Snowy源码头部的版权声明。
3.请保留源码和相关描述文件的项目出处，作者声明等。
4.分发源码时候，请注明软件出处 https://gitee.com/xiaonuobase/snowy
5.在修改包名，模块名称，项目代码等时，请注明软件出处 https://gitee.com/xiaonuobase/snowy
6.若您的项目无法满足以上几点，可申请商业授权，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip
 */
package vip.xiaonuo.app.modular.appuser.entity;

import com.baomidou.mybatisplus.annotation.*;
import vip.xiaonuo.core.pojo.base.entity.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.*;

import cn.afterturn.easypoi.excel.annotation.Excel;

import java.math.BigDecimal;
import java.math.BigDecimal;

/**
 * app用户表
 *
 * @author 郑雄伟
 * @date 2023-09-20 15:12:16
 */
@EqualsAndHashCode(callSuper = true)
@Data
@TableName("app_user")
public class AppUser extends BaseEntity {

    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_ID)
    private Long id;

    /**
     * 登录名称 即为：手机号
     */
    @Excel(name = "登录名称 即为：手机号")
    private String loginName;

    /**
     * 密码
     */
    @Excel(name = "密码")
    private String passWord;

    /**
     * 用户唯一编码
     */
    @Excel(name = "用户唯一编码")
    private String userCode;

    /**
     * 身份唯一邀请码
     */
    @Excel(name = "身份唯一邀请码")
    private String inviteCode;

    /**
     * 腾讯生成编码ID 9位 IM使用
     */
    @Excel(name = "腾讯生成编码ID IM使用")
    private String txCode;

    /**
     * 是否完善过基础信息   1已完善  2 未完善
     */
    @Excel(name = "是否完善过基础信息   1已完善  2 未完善")
    private Integer isComplete;

    /**
     * 头像id
     */
    @Excel(name = "头像id")
    private Long headPicId;

    /**
     * 昵称
     */
    @Excel(name = "昵称")
    private String nick;

    /**
     * 性别：1男 2女
     */
    @Excel(name = "性别：1男 2女")
    private Integer sex;

    /**
     * 签名
     */
    @Excel(name = "签名")
    private String sign;

    /**
     * 生日
     */
    @Excel(name = "生日", databaseFormat = "yyyy-MM-dd HH:mm:ss", format = "yyyy-MM-dd", width = 20)
    private Date birthday;

    /**
     * 身高id
     */
    @Excel(name = "身高id")
    private Integer heightId;

    /**
     * 体重id
     */
    @Excel(name = "体重id")
    private Integer weightId;

    /**
     * 职业id
     */
    @Excel(name = "职业id")
    private Integer careerId;

    /**
     * 收入id
     */
    @Excel(name = "收入id")
    private Integer incomeId;

    /**
     * 标签id 数组 英文逗号隔开
     */
    @Excel(name = "标签id 数组 英文逗号隔开")
    private String tagIds;

    /**
     * 学历id
     */
    @Excel(name = "学历id")
    private Integer educId;

    /**
     * 省份id
     */
    @Excel(name = "省份id")
    private Integer prId;

    /**
     * 城市id
     */
    @Excel(name = "城市id")
    private Integer cityId;

    /**
     * 区id
     */
    @Excel(name = "区id")
    private Integer distId;

    /**
     * 形象id 数组 英文逗号隔开
     */
    @Excel(name = "形象id 数组 英文逗号隔开")
    private String introPicIds;

    /**
     * 经度
     */
    @Excel(name = "经度")
    private BigDecimal lon;

    /**
     * 维度
     */
    @Excel(name = "维度")
    private BigDecimal lat;

    /**
     * 状态（字典 0正常 1冻结 2删除）
     */
    @Excel(name = "状态（字典 0正常 1冻结 2删除）")
    private Integer status;

    /**
     * 登录次数
     */
    @Excel(name = "登录次数")
    private Integer loginNum;

    /**
     * 最后登陆IP
     */
    @Excel(name = "最后登陆IP")
    private String lastLoginIp;

    /**
     * 最后登陆时间
     */
    @Excel(name = "最后登陆时间", databaseFormat = "yyyy-MM-dd HH:mm:ss", format = "yyyy-MM-dd", width = 20)
    private Date lastLoginTime;

    /**
     * vip
     */
    @Excel(name = "vip")
    private Integer vip;

    /**
     * vip到期时间
     */
    @Excel(name = "vip到期时间", databaseFormat = "yyyy-MM-dd HH:mm:ss", format = "yyyy-MM-dd", width = 20)
    private Date vipTime;

    /**
     * 门票
     */
    @Excel(name = "门票")
    private Integer ticket;

    /**
     * 详细地址
     */
    @Excel(name = "详细地址")
    private String address;

    /**
     * 文本价格
     */
    @Excel(name = "文本价格")
    private BigDecimal textPrice;

    /**
     * 语音价格
     */
    @Excel(name = "语音价格")
    private BigDecimal voicePrice;

    /**
     * 视频价格
     */
    @Excel(name = "视频价格")
    private BigDecimal videoPrice;

    /**
     * 在线状态（字典 0在线 1未在线 ）
     */
    @Excel(name = "在线状态")
    private Integer onlineStatus;

    /**
     * 用户钻石
     */
    @Excel(name = "用户钻石")
    private BigDecimal diamondNum;

    /**
     * 用户金币
     */
    @Excel(name = "用户金币")
    private BigDecimal goldNum;

    /**
     * 动态数量
     */
    @Excel(name = "动态数量")
    private Integer dynamicNum;

    /**
     * 动态数量
     */
    @Excel(name = "粉丝数量")
    private Integer fanNum;

    /**
     * 关注数量
     */
    @Excel(name = "关注数量")
    private Integer followNum;

    /**
     * 访客数量
     */
    @Excel(name = "访客数量")
    private Integer visitorNum;


}
